import java.io.Serializable;
import java.util.Arrays;

/*
 * Person.java   类
 *
 * IO---高级流---针对传对象
 * Person.java对象具备如下功能：
 * 1.实现序列化接口    Serializable序列化接口--提供：功能
 *  序列化接口：Person.java--JDK中虚拟机---转成Person.class[字节码文件]
 *           转换成二进制---序列化接口实现
 * 2.静态常量值：对象输入流---对象输出流
 * InvalidClassException 类版本号转换异常
 * 原因:序列化或者反序列化操作,传输类-指定版本号-改person.java
 *
 * 练习:1.对象输入流,对象输出流 -实现为标准流
 *      2.Person 对象 实现Serializble删掉,测试对象输出流是否正常写出
 * */

public class Person implements Serializable {
    /*版本号:决定反序列化
            类实现Serializable接口,具备序列化功能,类自动生成版本号

     */
    private static final long serialVersionUID=2l;
    private String name;    //私有属性
    private String[] say;
    public int age;
    //空参构造器
    public Person() {
    }
    //有参构造器
    public Person(String name, String[] say) {
        this.name = name;
        this.say = say;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String[] getSay() {
        return say;
    }

    //重写：Object toString()  打印对象地址值    对象名@ERD2
    //重写目的：不想看地址值，看对象属性值
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", say=" + Arrays.toString(say) +
                '}';
    }

    public void setSay(String[] strings) {
    }
}

